package com.zzyl.nursing.service;

import java.util.List;

import com.baomidou.mybatisplus.extension.service.IService;
import com.zzyl.nursing.domain.NursingPlan;
import com.zzyl.nursing.dto.NursingPlanDto;
import com.zzyl.nursing.dto.NursingPlanStatusDto;
import com.zzyl.nursing.vo.NursingPlanVo;
import com.zzyl.nursing.vo.NursingProjectVo;

/**
 * 护理计划Service接口
 *
 * @Author: Zhy
 * @Date: 2025-02-21
 */
public interface INursingPlanService extends IService<NursingPlan> {

	/**
	 * 查询护理计划
	 *
	 * @param: id 护理计划主键
	 * @return: 护理计划
	 */
	NursingPlanVo selectNursingPlanById(Integer id);

	/**
	 * 查询护理计划列表
	 *
	 * @param: nursingPlan 护理计划
	 * @return: 护理计划集合
	 */
	List<NursingPlan> selectNursingPlanList(NursingPlan nursingPlan);

	/**
	 * 新增护理计划
	 *
	 * @param: nursingPlan 护理计划
	 * @return: 结果
	 */
	int insertNursingPlan(NursingPlanDto nursingPlanDto);

	/**
	 * 修改护理计划
	 *
	 * @param: nursingPlan 护理计划
	 * @return: 结果
	 */
	int updateNursingPlan(NursingPlanDto nursingPlanDto);

	/**
	 * 修改护理计划状态
	 *
	 * @return:
	 * @param:
	 */
	int updateNursingStatusPlan(NursingPlanStatusDto nursingPlanStatusDto);

	/**
	 * 批量删除护理计划
	 *
	 * @param: ids 需要删除的护理计划主键集合
	 * @return: 结果
	 */
	int deleteNursingPlanByIds(Integer[] ids);

	/**
	 * 删除护理计划信息
	 *
	 * @param: id 护理计划主键
	 * @return: 结果
	 */
	int deleteNursingPlanById(Integer id);

	/**
	 * 查询所有护理计划
	 * 
	 * @return: 
	 * @param: 
	 */
	List<NursingProjectVo> getPlanAll();
}
